package com.xuecheng.content.service;

import com.xuecheng.content.model.dto.BindTeachplanMediaDto;
import com.xuecheng.content.model.dto.SaveTeachplanDto;
import com.xuecheng.content.model.dto.TeachplanDto;
import com.xuecheng.content.model.po.Teachplan;
import com.xuecheng.content.model.po.TeachplanMedia;

import java.util.List;

/**
 * @author: Hes
 * @description 课程基本信息管理业务接口
 * @date: 2023/6/20 19:12
 */
public interface TeachplanService {
    /**
     * 查询教学计划列表和子节点
     *
     * @param courseId
     * @return
     */
    public List<TeachplanDto> findTeachplanTree(Long courseId);

    /**
     * 添加、修改教学计划，根据id判断是否是修改还是添加
     *
     * @param saveTeachplanDto
     */
    public void saveTeachplan(SaveTeachplanDto saveTeachplanDto);

    /**
     * 删除教学计划
     * @param id
     * @param
     */
    public void delTeachplan(Long id);

    /**
     * 课程计划列表下移
     * @param teachplanId
     */
    public void moveDown(Long teachplanId);
    /**
     * 课程计划列表上移
     * @param teachplanId
     */
    public void moveUp(Long teachplanId);

    /**
     *添加媒资和教学计划绑定
     * @param teachplanMediaDto
     */
    public TeachplanMedia associationMedia(BindTeachplanMediaDto teachplanMediaDto);

    /**
     * 删除绑定
     * @param mediaId
     * @param teachPlanId
     */
    public void delAssociation(String mediaId,Long teachPlanId);
}
